草庐IT

jQuery UI 实例 - 自动完成(Autocomplete)

全部标签

ruby - 有没有办法从该实例内部为 Ruby 类的实例创建方法?

让classExample定义为:classExampledefinitialize(test='hey')self.class.send(:define_method,:say_hello,lambda{test})endend调用Example.new;Example.new我收到一个警告:方法已重新定义;丢弃旧的say_hello。我得出结论,这一定是因为它在实际类中定义了一个方法(从语法上看是有道理的)。当然,如果Example的多个实例在其方法中具有不同的值,那将是灾难性的。有没有办法从实例内部为类的实例创建方法? 最佳答案

Ruby - 在模块/类之间共享记录器实例

正在编写一个小的Ruby脚本,该脚本可以访问网络并抓取各种服务。我有一个模块,里面有几个类:moduleCrawlerclassRunnerclassOptionsclassEngineend我想在所有这些类中共享一个记录器。通常我只是将它放在模块中的常量中并像这样引用它:Crawler::LOGGER.info("Hello,world")问题是在我知道输出的去向之前我无法创建我的记录器实例。您通过命令行启动爬虫,此时您可以告诉它您想要在开发(日志输出到STDOUT)或生产(日志输出到文件crawler.log)中运行:crawler--environment=production我

ruby - 无法正确自动生成 Ruby DevKit 配置文件

我已经使用WindowsRuby安装程序安装了Ruby2.0,将DevKit(DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe)解压到ProgramFiles并运行rubydk.rbinit但是生成的config.yml文件没有列出我的Ruby路径。其内容如下所示:#Thisconfigurationfilecontainstheabsolutepathlocationsofall#installedRubiestobeenhancedtoworkwiththeDevKit.Thisconfig#fileisgeneratedbythe'rub

ruby - 如何在 Ruby 的 IRB 中启用自动完成

当我使用Merb的内置控制台时,我得到了类似于标准bash提示符的选项卡自动完成功能。我发现这很有用,并希望在非merbIRBsession中启用它。我如何在IRB中获得自动完成? 最佳答案 只需将require'irb/completion'放入您的irbrc。如果这不起作用,请尝试绑定(bind),http://tagaholic.me/bond/:require'bond';require'bond/completion'Bond不仅提高了irb的完成度,http://tagaholic.me/2009/07/22/bette

ruby - 为什么Ruby 的Date 类会自动加载而DateTime 不会?

为什么使用IRB会自动加载Date&Time类,但DateTime类不会?我必须require'date',这对我来说没有意义,因为我认为Date和DateTime都在使用标准库'date'?ruby-1.9.2-p290:001>Date=>Dateruby-1.9.2-p290:002>Time=>Timeruby-1.9.2-p290:003>DateTimeNameError:uninitializedconstantObject::DateTimefrom(irb):3from/Users/kamilski81/.rvm/rubies/ruby-1.9.2-p290/bin/

ruby - 如何在 RSpec 2 中自动加载 spec_helper.rb

当在Ruby中开发gem时,我几乎总是需要一个文件,我可以在其中配置RSpec以满足我的需要,也许在此之前,需要一些辅助模块,这些模块应该在我所有的spec示例中可用.在Rails应用程序中,一个名为spec/spec_helper.rb的文件用于此目的。让我烦恼的一件事是,在典型的Rails环境中,您必须在每个包含要加载的示例的文件中要求这个spec_helper.rb文件。过去,我遇到过很多与更改加载路径和示例文件中的相关require路径相关的问题。现在对于我的gems,我希望有一种方法可以让RSpec在加载任何示例文件之前要求spec_helper.rb文件。独立于我是否调用r

ruby - 在类方法中使用实例变量 - Ruby

我有一个类似下面的类,我使用实例变量(数组)来避免使用大量方法参数。它按我的预期工作,但这是一个好的做法吗?实际上我不希望它起作用,但我猜想类方法在其他语言中不能像静态方法一样工作。classDummyClassdefself.dummy_method1@arr=[]#Playwiththatarrayenddefself.dummy_method2#use@arrforsomethingelseendend 最佳答案 Ruby中实例变量作用于类的原因是Ruby类是本身的实例(类Class的实例)。通过检查DummyClass.cl

ruby - 使用 RSpec 检查某物是否是另一个对象的实例

我需要一种方法来使用RSpec检查一个对象是否是另一个对象的实例。例如:describe"newshirt"doit"shouldbeaninstanceofaShirtobject"#Howcanicheckifitisaninstanceofashirtobjectendend 最佳答案 首选语法是:expect(@object).tobe_aShirt旧的语法是:@object.shouldbe_an_instance_ofShirt请注意,两者之间存在非常细微的差别。如果Shirt从Garment继承,那么这两个期望都会通过

ruby - 向实例化对象添加方法

obj=SomeObject.newdefobj.new_method"dosomethings"endputsobj.new_method>"dosomethings"这工作正常。但是,我需要在现有方法中做同样的事情:defsome_random_methoddefobj.new_method"dosomethings"endend也可以正常工作,但是在一个方法中包含一个方法看起来很糟糕。问题是,有没有其他方法可以添加这样的方法? 最佳答案 在ruby​​1.9+中,使用define_singleton_method有更好的方法,

ruby - 如何检查变量是否是类的实例?

在Java中,您可以执行instanceof。是否有Ruby等价物? 最佳答案 几乎完全一样。您可以使用Object的instance_of?方法:"a".instance_of?String#=>true"a".instance_of?Object#=>falseRuby也有is_a?和kind_of?方法(这两个是别名,并且工作完全一样),返回true是父类(superclass)匹配之一:"a".is_a?String#=>true"a".is_a?Object#=>true 关于